real life applications of data structures